import {Finch, postParser, responseWare} from "../index";

//初始化一个APP
let app = new Finch({});

//设置一个静态文件的路径，应用会在此处查找静态文件并向请求者自动返回
app.StaticDir = "./files";

//一个中间件的使用示例：当用户访问域名根目录时，直接返回"HELLO WORLD!"
app.use('/', (req, res, next) => { //中间件函数
    res.writeHead(200, {'content-type': 'text/plain'});// 'res' 对象就是原生的 'ServerResponse' 对象
    res.write('HELLO WORLD!');
    res.end();
});

//使用自带的 responseWare 可以简化操作
app.use('/responseJson', (req, res, next) => {
    responseWare.rJson(res, {"Hello": "World"});
});

//多个中间件套用
app.use('/upload', postParser);
app.use('/upload', (req, res) => {

    let fieldStr = JSON.stringify(req.postFields);
    let fileStr = JSON.stringify(req.postFiles);

    //使用内置的日志组件打印上一步被中间件解析的文件信息；
    app.Logger.log(fieldStr+"\r\n"+fileStr);

    res.writeHead(200, {'content-type': 'text/plain'});
    res.write('received upload:\n\n');
    res.end();
});

//开始监听端口进行服务
app.listen(3000);